package com.eastfair.matching.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.venueservice.dto.WorkOrderDTO;
import com.eastfair.venueservice.dto.WorkOrderOperationRecordDTO;
import com.eastfair.venueservice.dto.WorkOrderQuery;
import com.eastfair.venueservice.vo.WorkOrderVO;

/**
 * @Author suolong
 * @Date 2022/7/29 11:51
 */

public interface MatchingWorkOrderService {

    /**
     * 查询派工单
     * @param workOrderQuery
     * @return
     */
    Page<WorkOrderVO> queryWorkOrder(PageParams<WorkOrderQuery> workOrderQuery);

    /**
     * 查询派工单明细
     * @param workOrderQuery workOrderQuery
     * @return WorkOrderVO
     */
    WorkOrderVO queryWorkOrderDetail(WorkOrderQuery workOrderQuery);

    /**
     * 接收工单
     * @param workOrderOperationRecordDTO workOrderOperationRecordDTO
     * @return Boolean
     */
    Boolean receiveWorkOrder(WorkOrderOperationRecordDTO workOrderOperationRecordDTO);

    /**
     * 修改派工单
     * @param workOrderDTO
     * @return
     */
    Boolean updateWorkOrder(WorkOrderDTO workOrderDTO);

    /**
     * 撤销工单
     * @param workOrderOperationRecordDTO
     * @return
     */
    Boolean revokeWorkOrder(WorkOrderOperationRecordDTO workOrderOperationRecordDTO);

    /**
     * 作废工单
     * @param workOrderOperationRecordDTO
     * @return
     */
    Boolean cancelWorkOrder(WorkOrderOperationRecordDTO workOrderOperationRecordDTO);

    /**
     * 完结工单
     * @param workOrderOperationRecordDTO
     * @return
     */
    Boolean closeWorkOrder(WorkOrderOperationRecordDTO workOrderOperationRecordDTO);
}
